﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR41Response : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR41Response {
        
        private decimal @__veakood;
        
        private string @__veatekst;
        
        private System.Collections.Generic.List<RR41Response.IIsikType> @__isik = new System.Collections.Generic.List<RR41Response.IIsikType>();
        
        public RR41Response() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR41Response(decimal @veakood, string @veatekst, System.Collections.Generic.List<RR41Response.IIsikType> @isik) {
            this.@__veakood = @veakood;
            this.@__veatekst = @veatekst;
            this.@__isik = @isik;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR41Response(IRR41Response @rR41Response) {
            this.@__veakood = @rR41Response.Veakood;
            this.@__veatekst = @rR41Response.Veatekst;
            this.@__isik = @rR41Response.Isik;
        }
        
        public virtual decimal Veakood {
            get {
                return this.@__veakood;
            }
            set {
                this.@__veakood = value;
            }
        }
        
        public virtual string Veatekst {
            get {
                return this.@__veatekst;
            }
            set {
                this.@__veatekst = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR41Response.IIsikType> Isik {
            get {
                return this.@__isik;
            }
            set {
                this.@__isik = value;
            }
        }
        
        public partial class IsikType : IIsikType {
            
            private string @__isikIsikukood;
            
            private string @__isikPerenimi;
            
            private string @__isikEesnimi;
            
            private string @__isikIsanimi;
            
            private string @__isikEestiAadress;
            
            private string @__isikStaatus;
            
            public IsikType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public IsikType(string @isikIsikukood, string @isikPerenimi, string @isikEesnimi, string @isikIsanimi, string @isikEestiAadress, string @isikStaatus) {
                this.@__isikIsikukood = @isikIsikukood;
                this.@__isikPerenimi = @isikPerenimi;
                this.@__isikEesnimi = @isikEesnimi;
                this.@__isikIsanimi = @isikIsanimi;
                this.@__isikEestiAadress = @isikEestiAadress;
                this.@__isikStaatus = @isikStaatus;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected IsikType(IIsikType @isikType) {
                this.@__isikIsikukood = @isikType.IsikIsikukood;
                this.@__isikPerenimi = @isikType.IsikPerenimi;
                this.@__isikEesnimi = @isikType.IsikEesnimi;
                this.@__isikIsanimi = @isikType.IsikIsanimi;
                this.@__isikEestiAadress = @isikType.IsikEestiAadress;
                this.@__isikStaatus = @isikType.IsikStaatus;
            }
            
            public virtual string IsikIsikukood {
                get {
                    return this.@__isikIsikukood;
                }
                set {
                    this.@__isikIsikukood = value;
                }
            }
            
            public virtual string IsikPerenimi {
                get {
                    return this.@__isikPerenimi;
                }
                set {
                    this.@__isikPerenimi = value;
                }
            }
            
            public virtual string IsikEesnimi {
                get {
                    return this.@__isikEesnimi;
                }
                set {
                    this.@__isikEesnimi = value;
                }
            }
            
            public virtual string IsikIsanimi {
                get {
                    return this.@__isikIsanimi;
                }
                set {
                    this.@__isikIsanimi = value;
                }
            }
            
            public virtual string IsikEestiAadress {
                get {
                    return this.@__isikEestiAadress;
                }
                set {
                    this.@__isikEestiAadress = value;
                }
            }
            
            public virtual string IsikStaatus {
                get {
                    return this.@__isikStaatus;
                }
                set {
                    this.@__isikStaatus = value;
                }
            }
        }
        
        public interface IIsikType {
            
            string IsikIsikukood {
                get;
                set;
            }
            
            string IsikPerenimi {
                get;
                set;
            }
            
            string IsikEesnimi {
                get;
                set;
            }
            
            string IsikIsanimi {
                get;
                set;
            }
            
            string IsikEestiAadress {
                get;
                set;
            }
            
            string IsikStaatus {
                get;
                set;
            }
        }
    }
}
